System and method for prediction of musical preferences

ABSTRACT

A system and a method for predicting the musical taste and/or preferences of the user The present invention receives, on one hand, ratings of a plurality of songs from the user and/or other information about the taste of the user, and on the other hand information about the songs in the catalog from which recommendations are to be given The method then combines both types of information in order to determine the musical preferences of the user. These preferences are then matched to at least one musical selection, which is predicted to be preferred by the user

FIELD OF THE INVENTION

[0001] The present invention relates to a system and a method for theprediction of musical preferences, and in particular, to such a systemand method which is able to propose suitable choices of musicalselections according to the preferences of the user, as well as tospecific implementations of the system and method for music distributionand/or music-related products.

BACKGROUND OF THE INVENTION

[0002] Music is a highly popular media on the Internet or World Wide Web(WWW). For example, file-sharing software programs and systems such asNapster, iMesh and Gnutella enable users to share digital filescontaining their favorite music. Other Web sites enable users to listento free musical selections and/or to purchase music which is of interestand/or to burn custom CDs (compact disks). In addition, an increasingnumber of musicians are turning to the Internet in order to promotetheir music, particularly musicians who are associated with independentlabels or “indies”, who may not have access to the large commercialbrick and mortar chains that sell music to the public.

[0003] The Internet is also a useful medium for the distribution ofmusic in other forms, such as through Internet radio for example.Although Internet radio can simply involve the broadcasting of musicand/or other types of audio data through the Internet, the medium alsooffers other possibilities that are not currently practicable throughregular radio broadcasts. For example, in order to advantageously usethe interactivity of the Internet, Internet radio “stations” couldactually be tailored to the taste and preferences of individual users.Such “stations” could also then broadcast targeted advertising, as wellas serving as a useful gauge of the musical tastes and preferences ofconsumers.

[0004] Although a tailored Internet radio “station” could simplybroadcast music selected by the user, a more useful implementation wouldinvolve the prediction of the musical taste and/or preferences of theuser, in order to provide a stream of musical selections that areunfamiliar to the user. These new musical selections would providevariety to the user, as well as exposing the user to new types of musicand/or musicians, which the user might not otherwise hear. In order forsuch new musical selections to be correctly chosen and broadcast, themusical taste and preferences of the user must be accurately determined.Otherwise, the user might easily lose interest in the tailored radio“station”. Unfortunately, such an accurate method for predicting themusical taste and/or preferences of the user is not currently available.

[0005] Retail stores selling compact disks typically enable customers tolisten to the disks before purchase. Recently, such stores have begun toinstall many listening stations on their premises, to which the customerbrings a CD (compact disk) of interest for being played. The station maybe able to read the bar code of the disk, which can provide valuable butgeneral information about the interests of an aggregated group ofcustomers. However, these stations cannot assist the customer to selecta CD of interest.

[0006] Similarly, e-commerce sites selling musical content typicallyoffer their customers a very large collection of items (CDs or audiofiles of various formats) to choose from. These vendors must providesearch facilities to their customers, for enabling them to navigate inthe collection and to find item(s) for purchase. However, currently onlyvery rudimentary facilities are available for enabling customers to findmusic of interest, such that they may quickly become overwhelmed by thechoices.

SUMMARY OF THE INVENTION

[0007] The background art neither teaches nor suggests a method foraccurately predicting the musical taste and/or preferences of a user.The background art also does not teach or suggest a tailored Internetradio “station” according to the automatically detected taste of theuser. The background art also does not teach or suggest search servicesfor on-line or e-commerce vendors, or the provision of sophisticatedlistening stations in retail shops.

[0008] The present invention is of a system and a method for predictingthe musical taste and/or preferences of the user. Once such a predictionhas been performed, effective recommendations may be obtained byrecommending those items which are predicted to be of interest to theuser.

[0009] For predicting the musical taste of the user, a group or catalogof musical selection is analyzed, to provide information about theseitems. Also, information about the taste of the user is also gathered,even if only with regard to one item of the catalog. Preferably,information is gathered separately about the user's taste on arelatively small (variable) sample of the catalog of musical itemsavailable, as well as about each of the musical items in the catalog.Since the second type of information, about the items in the catalog, iscompletely independent of any specific user, this information isoptionally and more preferably gathered before any predictions areproduced. Most preferably, this information is reused for a plurality ofusers.

[0010] The method then combines these two different types of informationto predict the rating the user would give to each musical itemconsidered. In the present invention, the first type of informationfeatures ratings of a plurality of songs from the user and/or of a listof songs which may be known or assumed to reflect the taste of the user,for describing the musical taste (preferences) of that user.

[0011] The second type of information (information about the songs inthe catalog) may optionally be gathered by one or more methods, or acombination thereof The first such method is completely automatic andinvolves “fingerprinting” the song through direct analysis of the audiosignal, while the second method involves analysis by a singleprofessional musician or other qualified person trained to identify aplurality of musical features and/or characteristics of the song forprediction. A third such method involves ratings of a number oflisteners who rate a large number of the songs of the catalog, while yetanother method involves gathering information about the popularity ofeach of the songs of the catalog.

[0012] The gathered information may optionally be used in differentways. For example, it may be used to build a matrix of“pseudo-distances” between the songs of the catalog and/or it mayoptionally be used to train a Neural Network. The information of thefirst type, gathered about a specific user, is then combined with theinformation of the second type to provide an expected rating for everysong in the catalog. This expected rating provides, for every song, anestimate of the degree of “like” or interest by the specific user forthe specific song. The songs that are given the highest expected ratingsare then preferably recommended to the specific user.

[0013] For the preferred implementation of the present invention whichis described below, taste and/or preference may optionally be measuredby a real number between zero and one: zero meaning extreme dislike andone meaning an item is extremely liked by the user (although of coursethe reverse could also optionally be implemented). Any discrete subsetof the [0,1] interval can optionally be used. For most of theexperiments described below, a discrete scale of five values was used: 0(strong dislike), 0.25 (dislike), 0.5 (indifference), 0.75 (like) and1.0 (strongly like).

[0014] Advantages of the present invention include, but are not limitedto, providing more sophisticated search services for “on-line” or othermusic vendors with limited interaction with human sales personnel; theprovision of additional, automated sales assistance to customers whichcan also gather information about the interests and taste of customers;and the creation of a personal “radio” channel.

[0015] With regard to assistance for customers within a “brick andmortar” store, the present invention optionally enables sophisticatedplaying stations, equipped with a monitor (i.e., screen) or even atouch-screen to be provided, for directing the user (customer) to CDs ofinterest. These stations can also automatically keep track of which CDsand/or even which tracks of these CDs are being requested by eachcustomer. Customer information could then optionally be correlated toinformation about the CDs themselves. Such information allowsstoreowners to run their business more efficiently.

[0016] With regard to e-commerce or “on line” vendors, the presentinvention provides a system for performing recommendations, whichenables the customer to examine proposed items which match thecustomer's taste, and which would therefore be purchased with highprobability.

[0017] Although the present invention is described with regard to musicfor the purposes of explanation only and without any intention of beinglimiting, it should be noted that the core prediction method describedbelow may also optionally be used to predict the taste of a user inother domains, any of which may be described as a “media selection”:movies, books and so on. The present invention is therefore clearlyoperative for these media selections as well.

[0018] Hereinafter, the term “musical selection” refers to a song, apiece of music, or a portion thereof

[0019] Hereinafter, the term “network” refers to a connection betweenany two or more computational devices which permits the transmission ofdata.

[0020] Hereinafter, the term “computational device” includes, but is notlimited to, personal computers (PC) having an operating system such asDOS, Windows™, OS/2™ or Linux; Macintosh™ computers; computers havingJAVA™-OS as the operating system; graphical workstations such as thecomputers of Sun Microsystems™ and Silicon Graphics™, and othercomputers having some version of the UNIX operating system such as AIX™or SOLARIS™ of Sun Microsystems™; or any other known and availableoperating system, or any device, including but not limited to: laptops,hand-held computers, PDA (personal data assistant) devices, cellulartelephones, any type of WAP (wireless application protocol) enableddevice, wearable computers of any sort, which can be connected to anetwork as previously defined and which has an operating system.Hereinafter, the term “Windows™” includes but is not limited toWindows95™, Windows NT™, Windows98™, Windows CE™, Windows2000™, and anyupgraded versions of these operating systems by Microsoft Corp. (USA).

[0021] For the present invention, a software application could bewritten in substantially any suitable programming language, which couldeasily be selected by one of ordinary skill in the art. The programminglanguage chosen should be compatible with the computational deviceaccording to which the software application is executed. Examples ofsuitable programming languages include, but are not limited to, C, C++and Java.

[0022] In addition, the present invention could be implemented assoftware, firmware or hardware, or as a combination thereof. For any ofthese implementations, the functions performed by the method could bedescribed as a plurality of instructions performed by a data processor.

BRIEF DESCRIPTION OF THE DRAWINGS

[0023] The invention is herein described, by way of example only, withreference to the accompanying drawings, wherein:

[0024]FIG. 1 is an exemplary screen shot of a user interface accordingto the present invention for the initial analysis of songs;

[0025]FIG. 2 is an exemplary screenshot of a second user interfaceaccording to the present invention for recommending song to the user andobtaining ratings by the user of those songs;

[0026]FIG. 3 is an exemplary screenshot of a user interface according tothe present invention for showing similar songs;

[0027]FIG. 4 is an exemplary screenshot of a user interface according tothe present invention for showing favorite songs;

[0028]FIG. 5 is an exemplary screenshot of a user interface according tothe present invention for showing popular songs;

[0029]FIG. 6 is an exemplary screenshot of a user interface according tothe present invention for a “personal channel”;

[0030]FIG. 7 is an exemplary screen shot of a user interface accordingto the present invention for a digital kiosk;

[0031]FIG. 8 is an exemplary screen shot of a user interface accordingto the present invention for a product page for the digital kiosk;

[0032]FIG. 9 is an exemplary screen shot of a user interface accordingto the present invention for a search page;

[0033]FIG. 10 is an exemplary screen shot of a user interface accordingto the present invention for searching according to musical properties;

[0034]FIG. 11 is an exemplary screen shot of a user interface accordingto the present invention for recommendations;

[0035]FIG. 12 is an exemplary screen shot of a user interface accordingto the present invention for another “favorites” implementation;

[0036]FIG. 13 is an exemplary screen shot of a user interface accordingto the present invention for another popular songs implementation;

[0037]FIG. 14 is an exemplary screen shot of an interface according tothe present invention for entering analysis information;

[0038]FIG. 15 is a schematic block diagram of an exemplary systemaccording to the present invention;

[0039]FIG. 16 is a schematic block diagram of a second exemplary systemaccording to the present invention; and

[0040]FIG. 17 is a schematic block diagram of an exemplary serverimplementation according to the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0041] The present invention is of a system and a method for predictingthe musical taste and/or preferences of the user. The present inventionreceives, on one hand, ratings of a plurality of songs from the userand/or other information about the taste of the user, and on the otherhand information about the songs in the catalog from whichrecommendations are to be given. The method then combines both types ofinformation in order to determine the musical preferences of the user.These preferences are then matched to at least one musical selection,which is predicted to be preferred by the user.

[0042] The Personal Musical Taste (PMT) system of the present inventionforecasts the taste of an individual, preferably on the basis of asample of musical selections which are rated by the user butalternatively on the basis of other information about the taste of theuser. The PMT system also optionally uses one or more of the following:a feature base describing every musical item (e.g., song) in terms of apredefined set of musical features, a song map describing the closenessbetween the different musical items and a rating listing describing thepopularity of those items. The items forecast to be preferred by theindividual may then optionally be recommended for sale or for listening.They may be used to build a play list to be streamed, downloaded on acomputer, an MP3 player or any other device, or burnt into a CD (compactdisk). Of course, any other method for providing the music to the usercould also optionally be used, alternatively or additionally.

[0043] Introduction to Solutions

[0044] The present invention optionally includes one or more of a numberof different solutions to the recommendation problem. Each such solutiongathers data of one or more types concerning the characteristic(s) ofeach song, and the relationship between these characteristic(s) and theperception of the listeners, or their musical taste. The solution maythen optionally be used to predict additional song(s) which may be ofinterest to the user. It should be noted that although the followingdescription centers around prediction and recommendation of songs(musical selections), in fact the present invention is also extensibleto other interests of users which involve subject issues of “taste” forany type of media selection.

[0045] Preferably, at least one of three different families of methods,Neural Network methods, Map methods (SM, FeatM and/or FingM) and Rating(R), are used. More preferably, two or more such families of methods areused conjunctively to achieve the best performance. Preferred aspects ofthe PMT system include, but are not limited to, the feature base thatpreferably includes the definition of a large number of musical featuresby which trained musicians classify the musical items and the optionaluse of a Neural Network or other fuzzy logic to learn the taste of anindividual based on a sample of preferred musical selections. Anotherpreferred aspect of the PMT system more preferably includes Map methodswhich are based on building a matrix of “pseudo-distances” between allpairs of songs of part of or the totality of the catalog. Mostpreferably, one or more methods of the following three different methodsfor building such matrices are used, each of which uses different typesof information.

[0046] The different methods of the Map family include the “Finger Map”method, in which the pseudo-distance between two songs is determinedautomatically as the distance between two “fingerprints”, without anyhuman intervention. Another preferred method is the “Feature Map” methodin which the pseudo-distance is determined as the distance between twovectors of predefined musical features characterizing the respectivesongs. These vectors are more preferably generated by trained musiciansor other trained personnel who listened to the songs. Yet anotherpreferred method is the “Song Map” method, in which the pseudo-distanceis determined as the average difference of the ratings given to any pair(or more) of songs by a group of individuals (trained or otherwise). Therating of a song reflects how much the individual rating the song likesthis song.

[0047] According to preferred embodiments of the present invention, themusical taste and/or preferences of the user are predicted according tothe reactions of the user to a set of musical selections. These musicalselections, to be presented to the user for rating, may optionally bechosen completely randomly from the catalog of musical items, oralternatively may be selected in a guided manner, in order to cover thebreadth of the range of musical items in the catalog. For such aselection, more preferably coverage is arranged according to therequirements of one of the previously described methods. The presentinvention is then able to predict the musical taste of the user forother musical selections from the catalog.

[0048] As described in greater detail below, the present invention isable to overcome a large number of problems that are inherent to theconcept of predicting the musical taste and/or preferences of a user.First, given a large catalog of musical items and a small sample ofselected items for determining the taste of an individual, the firstsuch problem is that of forecasting the taste of the individual on thewhole catalog, which is the forecast problem. A different problem is therecommendation problem: how to recommend a relatively (to the size ofthe catalog) small number of items that have the best chance to fit theindividual's taste. Conceptually, the PMT system solves therecommendation problem by solving the forecasting problem first, andthen recommending the items which are forecast to best fit the taste ofthe user. This holds true for the preferred implementations of themethods as described below: Rating, neural net, and the different Mapmethods and combinations of the above.

[0049] Testing Solutions to the Recommendation Problem

[0050] According to the preferred implementation of the presentinvention, the recommendation problem is more preferably solved withoutsolving the forecast problem in fill. Most preferably, the forecastproblem is solved exactly only for songs with a good probability ofbeing liked by the specific user.

[0051] To be able to compare different possible solutions to theproblems above, the taste of an individual is preferably assumed to bedefined by a function that assigns a number in the interval [0,1] toeach and every item in the catalog. In the tests of the presentinvention which is described in greater detail below, the five values,“likes a great deal”, “likes”, “indifferent”, “does not like” and“cannot stand (dislikes)”, were translated as 1, 0.75, 0.5, 0.25 and 0respectively. Different tests of the system have been implemented, ineach of them, a number (from 28 to 32) of subjects have been asked toreveal their personal taste on a catalog of (from 2200 to 5570) songs. Aset of songs (preferably small, but whose size may be varied) is chosenas a “learning set” and the system is more preferably given the taste ofthe subjects on those items only. The PMT system is not given thesubjects'taste on the other items, “the generalization set”. The PMTsystem then forecasts each subject's taste on this generalization set,and recommends a number of items to each of the subjects. For thoseitems the “target”, i.e., the taste expressed by the subject in thetest, is compared to the forecast of the PMT system. The resultsobtained from these different tests were all very similar and arereported as for a single test.

[0052] The criteria by which to judge the quality of the solutions tothe two problems described above have been chosen carefully. The PMFsystem preferably uses the l₁-distance to judge the quality of asolution to the forecast problem. A Euclidean distance may optionally beused as well. The l₁-distance between a target vector t_(i) and aforecast vector f_(i) is:

Σ_(i)|target_(i)−forecast_(i)|/n

[0053] wherein the sum ranges over i=1, . . . n, and n is the size ofthe generalization set (number of items in that set); and the function“| |” is the absolute value function.

[0054] The quality of a solution to the forecast problem is thisdistance between target and forecast averaged over a large number oftrials with different samples of the individual tastes and over thedifferent individuals. This is a number in the interval [0,1]: thesmaller the number, the better the solution.

[0055] There are at least two criteria by which the quality of asolution to the recommendation problem should be judged. The firstcriterion by which to judge such a solution is the average of the targetvalues over the items recommended. The average target value is a numberbetween zero and one; the larger the number, the better therecommendation. If this number is one, for example, all the itemsrecommended were in fact “preferred” by the subject and the system hasbeen completely successful. This number measures the goodness of therecommendations. Another important criterion is the individual qualityof the recommendation, or whether the system recommends the same itemsto every subject as opposed to being very sensitive to the individualtaste of the subject. The best measure of this criterion is the spreadof the recommendations, i.e., how many different items were recommended,on the whole, to the community of subjects. If 10 different items arerecommended to each member of a set of 32 subjects yet only 25 differentitems are recommended overall, out of the total of 5570 available itemsand the theoretical maximum of 320 different recommendations, then thesame item has been recommended to many different subjects, while manyitems have not been recommended to anyone. Such a small spread shouldpreferably be avoided. Indeed, larger spreads are strongly preferred.

[0056] The present invention was tested with a group of 32 subjects, whowere asked to rate each of a group of songs on a scale of five values:likes a great deal, likes, indifferent, does not like, and hates. Thesongs of the catalog included the currently most popular tracksworldwide, with most songs being in English, but with a significantnumber of songs in Spanish, French, Hebrew, Portuguese and otherlanguages. The songs included different genres: rock, pop, jazz,acoustic and electric items, rap, funk, reggae and classical. Theresults are described in greater detail below with regard to eachmethod.

[0057] The first such method is the neural net method, which uses aneural network, or fuzzy logic, to learn the individual's taste from a(preferably small) sample of preferred musical items. Each item (song)is characterized by its musical features (a binary vector) and theNeural Network learns, from the sample, to associate a taste (betweenzero and one) to sets of musical features. Further description of themusical features and their analysis can be found below in thedescription of the Feature Map method. The basic algorithm isback-propagation [LeCun:85, BackProp:86]. The architecture of the neuralnetwork includes a number of input units which are equal to the numberof musical features, preferably including one, two or three hidden unitsand a single output unit. The learning examples are presented repeatedlyto the neural network and a gradient-descent (back-propagation)algorithm is used to minimize the learning error. For generalization,the network is presented with the features of the song for which thetaste of the user is to be predicted. The neural network then computesin a feed-forward manner the predicted rating (i.e. taste) for the user.

[0058] In order to test this method, a sample of 5, or 40 songs waschosen (randomly) in the catalog of 5570 items and the PMT system wasgiven the taste (between zero and one) of each of the 32 subjects onthis sample. It was then asked to forecast the subject's taste on theremainder of the catalog (the generalization set). The neural net methodwas found to forecast the taste of individuals significantly better thana random guess. A random guess gives, on the test data described above,an average distance between output and target of 0.14, independently ofthe size of the learning set. The neural net method gives, for alearning set of size 5, an average of 0.13. For a learning set of size40, it gives the same value. The difference is significant. The reasonis that the neural net system learns reasonably well the musicalfeatures preferred by an individual but this is far from enough todefine the taste of an individual: many items share similar features andan individual may be expected to have different opinions about differentitems, even if they share the same features.

[0059] On the recommendation problem, for a learning set of size 5, theneural net method performs significantly better than a random guess: itachieves an average of forecasted values of 0.52 whereas a random guesswould yield 0.46. For a learning set of size above 20, it obtains anaverage of 0.6. This result is not as good as for other implementationsof the present invention. The reason is both that the neural netmethodology does not succeed in extracting all the information availableand that the items that fit the musical features preferred by theindividual are not necessarily those items which are preferred by theuser. Many items that fit closely the musical features preferred by theindividual are not, in fact, preferred because of their poor overallquality. The spread obtained by the neural net method is very good,though: of the order of 72% of the maximum number of possible differentrecommendations for 10 recommendations on the basis of a learning set ofsize 5 or 40. The neural net method learns to distinguish the musicalfeatures that an individual generally likes or dislikes, but is not thebest method for forecasting the taste of the user and/or recommendingsongs to the user.

[0060] A second family of methods includes the Map methods, forforecasting. Such methods represent significant improvements on theArtist-Artist methods of [CollFilt:95]. Among the crucial differencesbetween the background art method and the method of the presentinvention are recommendation of specific songs, i.e., tracks, ratherthan artists or albums. Also, the present invention does not use aConstrained Pearson r Algorithm but instead uses a l₁ distance.Furthermore, the gathered information about the catalog of musical itemsis different in the present invention from the background art method, asthe latter relies on ratings haphazardly gathered from a large number ofusers who rated only a small portion of the catalog, while the presentinvention preferably uses one or more of the following: ratings gatheredfrom a small but fixed number of persons each of whom rated a large partof the catalog, ratings from the analysis of the musical items bytrained musicians (and/or other trained personnel), and/or fullyautomatic techniques based on fingerprinting.

[0061] As previously described, these methods use a matrix whose entriesare “pseudo-distances”, for each pair of songs. This matrix is the onlyinformation about the catalog that is used in solving the prediction andrecommendation tasks. The different methods of the family differ in thetype of information used in computing those pseudo-distances. Thegeneral idea is that the pseudo-distance between songs i and j is smallif, typically, a user who likes i is also expected to like j, while auser who dislikes i is also expected to dislike j and vice versa.

[0062] The “pseudo-distances” generated by different methods may also beoptionally and preferably combined, by some weighted linear calculationfor example, to define a new pseudo-distance.

[0063] The following discussion describes first how pseudo-distances areused to solve the forecasting problem, and then how the differentmethods of the invention compute those pseudo-distances.

[0064] Given a matrix of pseudo-distances d(i,j) and a vector of ratingsof some of the songs: r(k₁), . . . , r(k_(n)) where r(k) is the ratinggiven by the user to song k, the forecasted rating (for the user) ofsong i is the weighted average of the ratings r(k₁), . . . , r(k_(n))where r(k) is weighted by a quantity that is inversely proportional tosome fixed power of d(k,i). In other terms, the forecast for the ratingof song i is given by:$c\left\lbrack {\sum\limits_{j = 1}^{n}{{r\left( k_{j} \right)}/{d\left( {k_{j},i} \right)}^{\alpha}}} \right\rbrack$

[0065] where α is a positive real number and c is a normalizing factor:$c = {1 \div {\sum\limits_{j = 1}^{n}{\left( {1/{d\left( {k_{j},i} \right)}^{\alpha}} \right).}}}$

[0066] We found that taking for α a value close to 10 gives the bestresults for the SongMap method. For Feature Map and Finger Map the bestvalues are smaller. Of course, other values could optionally be used andare considered to be within the scope of the present invention.

[0067] As previously described, optionally and preferably one or more ofthree different methods for building the matrix of pseudo-distances isused for the present invention. The first method, Song Map, gives thebest results, but is also the most expensive to implement because of thecost of acquiring the data needed to build the matrix ofpseudo-distances. The method requires a minimum number of subjects (15is a minimum and about 35 seems optimal) who have listened to, andgraded on a scale of zero to one, each item (song). The quality of therecommendations is a function of the number of subjects, and theirvariety: subjects that have different tastes should preferably bechosen. The data may be assembled from a much larger set of subjects whohave graded only part of the catalog, but each pair of songs should havebeen rated by at least 15 subjects. This data is used to build a SongMap, i.e., a matrix of pseudo-distances describing the “distance” (orthe closeness) of every pair of items. Items are close if, on theaverage, subjects who like one of them also like the other one, andthose who dislike one also dislike the other. Technically thepseudo-distance between two songs i and j is defined as:

[0068] d(i,j)=Σ_(k)|g_(i) ^(k)−g_(j) ^(k) where k runs over all thesubjects and g_(i) ^(k) is the grade given by subject k to song i. Ifevery subject gave exactly the same grade to both songs i and j thentheir distance is zero.

[0069] Forecasting by the Song-Map method gives much better results thanby the neural net method. For a learning set of size 5 it gives anaverage distance between forecast and target of 0.0725. For a learningset of 40, it gives an even better average distance 0.0575. The SMmethod also gives an excellent solution to the recommendation problem.As mentioned above, recommendations are taken to be those songs that gotthe highest forecast. For 5 recommendations on the basis of a learningset of size 10, the average of the forecasted values of the recommendeditems is 0.62 and the spread is 27. For a learning set of size 40, theaverage of the forecasted values is 0.75 and the spread is 32. For alearning set of size 80 the average forecasted value of recommendationsis 0.78.

[0070] The second of the optional but preferred Map methods is theFeature Map. In this method, the pseudo-distance between two songs iscomputed on the basis of the analysis of the songs, preferably byprofessional musicians and/or other trained personnel, in terms of a setof predefined musical features. Different songs may be analyzed bydifferent musicians (personnel), but these individuals are preferablytrained to recognize the musical features whose careful definition is acentral part of the PMT system. The Feature Map is based on the sameinformation which is required to apply the neural net method: analysisby trained musicians or other trained personnel according to a set ofpredefined features. Preferably, only one musician listens to any singlesong and different musicians may optionally analyze different songs:they build a feature base which is the definition of musicallysignificant features and the mapping of every item in the catalogaccording to those features by trained musicians. Some of those featuresare optionally and preferably obtained from available outsideinformation, but most of them are more preferably defined by the PMTsystem. Some of those features are objective and are thereforepreferably described by a binary system (either zero or one), but otherfeatures are subjective and their value is preferably taken as theaverage of the values given by a number of musicians. The Appendixcontains a description of the current set of features. The Feature Mapmethod has been shown to give better recommendations than the neural netmethod of the present invention.

[0071] Technically, every song is characterized by a vector of numbersin the interval [0,1]. The vector, in the current implementation,contains about 100 numbers, each of them being either 0 or 1. Eachnumber corresponds to the musical features described in the Appendix.The pseudo-distance between two songs is taken to be the l₁ distance (orthe Euclidean distance) between the two corresponding Boolean vectors.Two songs that have exactly the same musical features have a distance of0 and songs that differ in only one musical feature have a distance of1, for example.

[0072] The Feature Map method is different from the Song Map methoddescribed above. The Feature Map describes musical proximity, whereasthe Song Map describes the tastes of a plurality of users. The FeatureMap method provides recommendations of value 0.56 on the basis of alearning set of size 10, value 0.64 for a learning set of size 40 and0.66 for a set of size 80. Comparing those values with the valuesobtained from the Song Map method: 0.62, 0.75 and 0.78 respectively, theFeature Map clearly gives significantly inferior results. The differencebecomes even more significant for large learning sets.

[0073] However, after considering a number of possible other methods,the results obtained from the Feature Map appear to represent the bestfor any recommendation system based on a purely musical analysis of thecatalog. The reason any such method is essentially limited in itsquality is that the information on which it is based, musical features,cannot fully explain the taste of a user. Musical similarity is onlypartly useful for explaining musical taste. The spread found in theFeature Map is large and very satisfactory.

[0074] The Finger Map is the third of the Map methods. In this method,no human intervention is needed in building the matrix ofpseudo-distances. Each song is “fingerprinted” by analyzing the audiosignal of the musical selection. Fingerprinting is a public domaintechnique used for identifying songs, tracks or audio files. A computerprogram, such as from the Songprint library distributed byFreetantrum.com for example, reads the audio file and computes a“fingerprint” consisting of, typically, 32 positive integer numbersaccording to the audio signal of the file. Those numbers are a unique“signature” of the musical item, since a specific recording of a song isexpected to generate the same, or almost the same, signature even if thefile has been converted to another format. Different songs or differentrecordings of the same song are expected to produce differentsignatures.

[0075] The numbers in the “fingerprint” are preferably calculated asfollows: the Fourier transform of the audio signal is computed and theenergy contained in each of a number (typically 16) of frequency bandsis computed as a function of time. Both the average (over time) and thestandard deviation of this energy are computed in each of the 16 bands,resulting in 32 numbers. Those numbers are then normalized to enablecomparisons between “fingerprints” of songs with different averageenergy, i.e., volume. The “fingerprint” is typically taken on only part(for example, half a minute) of the song. Given the “fingerprints” ofthe songs of the catalog, the pseudo-distance between two songs isdefined as the distance (l₁ or Euclidean) between the two vectors of 32numbers.

[0076] The main advantage of the Finger Map method is that the matrix ofpseudo-distances is built completely automatically without humanintervention The Finger Map method takes advantage of the fact thatsongs that have fingerprints whose distance is small typically soundsimilar. The quality of the predictions is inferior to that of the othermethods of the Map family. For learning sets of sizes 10, 40, 80,recommendations of value 0.53, 0.57 and 0.59 are obtained respectively.This represents a performance that is inferior to the Feature Mapmethod.

[0077] A method of a third family is the rating method, which isactually quite simple. It does not even need a sample set of theindividual's taste. The method uses only a Rating list that describes,for every item in the catalog, preference by the subjects on average. Ina test, for each song, the average rating given to it by the 32 subjectswas used. Any information about the popularity of the different itemsmay also optionally be used, such as information gathered either fromoutside sources or by a test on an inside group of subjects, forexample. If, for example, individuals in a large group are known to“like” (1), “don't like” (0) or are “indifferent” (0.5) to a song, thepopularity (i.e. rating) of the song is optionally and preferablycalculated as the average of those numbers over the population. Thisinformation is then normalized to fit the interval [0,1] by subtractingthe smallest popularity value and dividing by the difference between thelargest and the smallest popularity values. The forecast for a song issimply taken to be the song's normalized popularity (i.e. rating). Thebasic rationale for this method is that there is some objective qualityin the different items that is reasonably approximated by the rating andthat this objective quality is the best predictor for an individual'staste. This method forecasts the same taste for every individual.

[0078] The Rating method performs quite well on the forecast problem. Itgives an average distance between target and forecast of 0.31, which issignificantly better than the neural net method. The performance of theSong Map method is significantly better, though. On the recommendationproblem, it achieves an average forecasted value of 0.8, much betterthan the neural net method and better than the SM method. The spread,though, is, obviously minimal and unacceptable. The reason for therelative success of the Rating method is clear: in a large measure,individual taste is determined by some objective quality of the items,on which subjects may be expected to agree to at least some degree.

[0079] Assuming ratings of the items in the catalog have been obtainedfrom a number of persons, each of whom has rated a large part of thecatalog, a family of methods based on the following idea may also beused: the prediction for song I for a given user is a weighted averageof the grades given to song I by the different raters. The weight ofeach rater is inversely proportional to some positive power of thedistance between the specific user and the rater, a distance which ismeasured from a small learning set of songs. When ratings are gatheredsystematically as proposed here, this method provides better resultsthan the usual Collaborative Filtering techniques based on haphazardlygathered data.

[0080] Previously, five different methods of the present invention havebeen described: neural net, SM, FeatM, FinM and R. According topreferred embodiments of the present invention, two or more, and morepreferably all, of these methods are combined, into a system that offersthe advantages of each. The combination of the different methods isoptionally very simple. Each of the methods proposes a forecast that isa number in the interval [0,1]. A linear combination of those threevalues is used as a forecast of the taste of the individual. Assumingonly neural net, SM and R are used, if f_(neural net), f_(SM) and f_(R)are the forecasts of the neural net, SM and R methods respectively, theforecast of the PMT system is:

[0081] c_(neural net)·f_(neural net)+c_(SM)·f_(SM)+c_(R)·f_(R), forpositive numbers c_(neural net), c_(SM) and c_(R) such that:C_(neural net)+c_(SM)+c_(R)=1. Many different values for those threecoefficients are currently being tested in order to determine thosevalues that offer best performance on the recommendation problem. Inprinciple the exact optimal values for those coefficients depend on theparameters of the problem at hand: size of the catalog, ratinginformation available and others, but this influence seems to be small.

[0082] Dealing with Very Large Catalogs with the Map Methods

[0083] The Map methods, as described above, require the computation of amatrix of pseudo-distances between each pair of songs. For largecatalogs these methods need to be adapted for two reasons. First, thematrix may be too large to be stored in memory; and secondly because, inthe SM method, raters need to preferably rate all songs of the catalog,which is impractical for very large catalogs. For those reasons, the PMTsystem preferably decomposes large catalogs into sub-catalogs of apractical size, for example, more preferably between 2000 and 6000 songsfor each sub-catalog. The user is, at any time, given recommendationsfrom only one of the sub-catalogs, based on the preferences indicated onthe same sub-catalog. When the system finds that the songs mostpreferred by the user in the sub-catalog have been exhausted (or atleast partially explored), the system more preferably moves the user toanother sub-catalog.

[0084] To be able to make informed recommendations on this newsub-catalog, the preferred “transfer” method has been developed. Itallows the PMT system to transfer information about a user from onesub-catalog to another one. To transfer information between twosub-catalogs, a small set of songs (assume for description's sake 100)is preferably selected from each of the two sub-catalogs. Those setsshould be chosen in such a way that they span the catalogs as well aspossible. A group of raters rates those two sets of songs and a transfermatrix (100×100) of pseudo-distances between each song of the first setand each song of the second set is preferably computed as in the SMmethod. Assuming the PMT system has information about the preferences ofa user about songs from the first catalog, the system more preferablycomputes predictions, using the SM matrix of the first catalog, of userpreferences concerning the first set of 100 songs (from the firstsub-catalog). Using those predictions as if they were a learning set,the method preferably computes, with the help of the transfer matrix,predictions concerning the user's preferences about the second set ofsongs (from the second sub-catalog). It then more preferably uses theselast predictions as if they were a learning set, to make recommendationsfor the second sub-catalog. Once more information is gathered about thepreferences of the user concerning the second sub-catalog, the PMTsystem optionally and most preferably returns to a normal mode ofoperation on the second sub-catalog, without reusing the predictionsgenerated by the transfer matrix.

[0085] Feature Base

[0086] The feature base is another optional but preferred component ofthe present invention, and is the database containing the analysis ofeach of the songs of the catalog by musical features. This databaseallows the construction of the Feature Map and the use of the neural netmethod. This feature base and the mapping of the catalog along thosefeatures are extremely useful for purposes beyond those methods. A usermay give an example of a song and request from the PMT system songs thatare similar, i.e., close to this song musically.

[0087] The feature base enables an active search of the whole catalogalong those musical features by the user looking for musical items of acertain type: the PMT system filters the recommendations and recommendsonly songs that fit the type requested. The feature base also allows asearch by examples: given a song, the PMT system can search the catalogfor the songs that are closest to the given song in terms of thepseudo-distance used in the Feature Map.

[0088] Optional Implementations of the Present Invention

[0089] The principles and operation of the present invention may bebetter understood with reference to the drawings and the accompanyingdescription.

[0090] The present invention has a number of optional but preferredimplementations, which are intended as examples only, without anyintention of being limiting. As described in greater detail below, theseimplementations include the provision of software (with a GUI (graphicaluser interface)) for interacting with the user through a network such asthe Internet, as well as for a “stand-alone” station for installation ina “brick and mortar” store. The interaction of the user through theInternet (or other network) could also optionally be performed with a“personal channel” (Internet radio), as shown in FIG. 6. The initialscreenshots (FIGS. 1-5) could optionally be used with eitherimplementation. FIGS. 7-14 are preferably used with the exemplaryimplementation of the present invention for the “stand-alone” station.FIG. 15 describes an implementation of the present invention forinteraction with the user through a network such as the Internet. FIG.16 is a schematic block diagram for the alternative implementation ofthe present invention with the “stand-alone” station.

[0091] Referring now to the drawings, FIG. 1 is an exemplary screen shotof a user interface according to the present invention. FIG. 1 shows anintroductory screenshot 10 for entering initial musical selections bythe user, in order to be able to ascertain the taste/interests of theuser. The user is given a list of N (here 10) songs (musical selections)12. Those songs are preferably presented in groups of five according toName and Performer; a Listening button 14 (decorated with a loudspeaker)allows the user to listen to the song. For example, clicking on, or.otherwise selecting Listening button 14 causes the audio and/or mediaplayer (such as Microsoft Media Player, WinAmp or Liquid Audio, forexample) to start playing the song. Five Rating buttons 16, on theright, for each song, allow the user to rate each song. The user listensto each song and chooses one of the possible ratings. For this example,a scale of five values is used: Likes a great deal, Likes, So So, Doesnot like, and Hates. The size of the scale may easily be changed, tothree, or indeed to any other set of values: Likes, So-So, Does notlike, for example.

[0092] After rating the N songs, the user preferably asks forrecommendations for new songs, for example by pushing a “GetRecommendations” button 18. The system of the present invention(described with regard to FIGS. 15 and 16 below) then preferably buildsa personal profile of the user, on the basis of these ratings, and alsoon the basis of previously determined information about the songs asdescribed above.

[0093] After clicking on “Get Recommendations” button 18, the user alsopreferably receives a list of M new songs based on the personal profile,as shown as a second set GUI 20 in FIG. 2. The list preferably containsthe following fields for each song: Song Name and Performer for thesongs 12, Listening button 14, Rating buttons 16, a Buy button 22 and aSimilarity button 24. Clicking or otherwise selecting Buy button 22preferably opens a new window in which the user can buy the CD thatcontains the recommended song. Clicking or otherwise selectingSimilarity button 24 preferably opens a new window which contains a listof songs which sound similar to the reference song as shown in FIG. 3.

[0094] As also shown in FIG. 2, a number of check boxes 26 on the leftof the screen allow the user to check specific genres. At first,preferably all boxes 26 are checked and recommendations are given fromarbitrary genres. The user can optionally and more preferably uncheck ordeselect some (but most preferably not all) of boxes 26. The user thenreceives recommendations limited to the genres that are selected.Optionally and preferably, similar check boxes 26 are provided fordifferent languages.

[0095] Also as shown in FIG. 2, four buttons on the bottom of the screenpreferably allow the user to perform the following actions: see the listof songs to which the highest rating was given, with a “My Favorites”button 28; see the list of 20 songs that are most popular among theusers of the PMT system according to the present invention, with a “Top20” button 30; reset the personal profile of user with a “Reset” button32; login as another user with a “Login” button 34. The user may alsoobtain additional recommendations with a “More Recommendations” button36.

[0096]FIG. 3 shows an exemplary GUI screenshot 38, which containssimilar songs, provided to the user after the “Similar” button isselected from FIG. 2. The list contains the fields as described above.The user may optionally rate those “similar” songs and then also updatethe profile of the user by clicking on the “Update Profile” button 39.Those ratings are then used when a new set of recommendations are made.

[0097] In FIG. 2, the user may optionally select the “My Favorites”button 28, after which a favorites GUI screenshot 40 is displayed, asshown in FIG. 4. Favorites GUI screenshot 40 shows one or more songs(musical selections) which the user selected earlier, from the GUI ofFIG. 2 for example. The fields/buttons are as previously described.

[0098] In FIG. 2, the user may also optionally select the “Top 20”button 30, after which a Top 20 GUI screenshot 42 is displayed, as shownin FIG. 5. Top 20 GUI screenshot 42 shows a group of songs which havebeen previously rated as being of high interest to the largest group ofusers, preferably according to songs which have received the highestgrade by the largest number of users. The fields/buttons are aspreviously described.

[0099]FIG. 6 is a screen shot of an exemplary Personal Channel, i.e.,personal radio, interface 44. The Personal Channel preferably delivershigh quality music, at least as good as for a CD, that fits the taste ofthe user. The songs played are chosen by the PMT system according to thepresent invention. The songs selected as being suitable forrecommendation to the user are preferably played one after the other,more preferably without the need for submitting requests. As shown, eachsong contains the same fields as described above and the user can definemore preferably musical properties to guide the recommendations. Theuser is preferably able to at least select genres for the songs with agenre selection area 45.

[0100] Optionally and more preferably, the previously described GUIinteractions for selecting songs and predicting the taste of the userare also performed here for the Personal Channel. Alternatively, a moresimplified rating system may be used, in which the user rates a smallgroup of songs, more preferably also according to genre, for predictingthe taste of the user. A rating area 47 is shown in the middle of theGUI, below which a playing control panel 49 enables the user to stopplaying, to start playing and/or skip playing a particular song.

[0101] The next Figures (FIGS. 7-14) present shot screens of the digitalkiosk or “stand alone station” implementation of the PMT system. Thedigital kiosk is preferably implemented as an intelligent listeningstation, more preferably including a computer, a touch screen, a barcode reader and a pair of earphones. The stand-alone station enables thecustomer of a CD store to bring a CD to the kiosk, and, more preferablyafter having read the bar code, to listen to the different tracks of theCD, or excerpts thereof. A customer may also rate songs and getrecommendations that fit the customer's taste, according to the PMTsystem. A returning customer is optionally and more preferablyrecognized by the system after logging in, and recommendations may thenoptionally be given immediately.

[0102]FIG. 7 shows an illustrative introductory screen 46 of the digitalkiosk for music stores, for example. As shown, introductory screen 46preferably has three different areas. A promotional area 48 (on theleft) is preferably used by the store for promotions and advertising.More preferably, each store may decide how to use this area. A barcodearea 50, on the right, is preferably used to enter the bar code of a CD.This bar code is more preferably entered by a barcode scanner linked tothe kiosk, but may also be entered by hand if the barcode cannot be readautomatically. Other buttons are as for FIGS. 1-5 for the generalinterface, described above, with the exception of a search button 52,for enabling the user to search for particular songs according to one ormore criteria.

[0103] After the bar code is entered, a product GUI 54 is preferablydisplayed, as shown in FIG. 8. Product GUI 54 optionally and morepreferably displays information about the CD, including a list of songsfor being played, optionally also with information about the artistand/or CD.

[0104] The digital kiosk also preferably features a search function,which may optionally be triggered by the selection of search button 52,resulting in the display of a search GUI 56, as shown in FIG. 9. Theuser preferably enters a text string, and then chooses one of “by whatto search” options: artist name, performer name or album name. The userthen preferably clicks on the search button and the system searches forsongs matching the parameters. The user can also optionally and morepreferably search by musical properties (genre, mood, instruments,language . . . ) as shown in a musical property GUI 58, in FIG. 10. Theuser preferably clicks on or otherwise selects one or more desiredproperties 60, and then again preferably clicks on the search button.The result of this search is a list of songs, which match all (or atleast a portion of) the properties defined by the user.

[0105] The digital kiosk also optionally and preferably supports theprovision of recommendations to the user, as described with regard toFIGS. 1-5 and as shown as an exemplary recommendation GUI 62 in FIG. 11.The user is optionally and more preferably provided with one or morerecommended songs and/or CDs, which optionally and most preferably arelimited to those songs and/or CDs which are available for purchase inthe “brick and mortar” store itself.

[0106] Yet another optional but preferred function of the digital kioskof the present invention is the My Favorite function as described inrelation to FIG. 4 and shown as a favorite GUI 64 in FIG. 12. Stillanother optional but preferred function is the Top 20 function asdescribed in relation to FIG. 4 and shown in FIG. 13.

[0107]FIG. 14 shows an exemplary GUI for entering information for thepreferred feature base of the present invention. A song analyzer GUI 66preferably enables users to enter this information. More preferably, theusers are musicians or other trained personnel who analyze the songs andbuild the Feature Base. As previously described, preferably each song isanalyzed by a professional musician, who listens to the song and thencategorizes the song according to the parameters which are described ingreater detail in the Appendix.

[0108]FIG. 15 is a schematic block diagram of an exemplary system 68according to the present invention for interaction with the user througha network such as the Internet. As shown, system 68 features a server 70for controlling the operation of a number of rating components. Server70 is in communication with a client 72, which is operated by a usercomputational device 74 and which in turn provides the user interface.As previously described, preferably a first user interface is providedfor the user to select songs for determining the musical taste of theuser, while alternatively, a second user interface is preferablyprovided for the professional musician to analyze the songs.

[0109] Server 70 also preferably features a communication interface 76for communicating with client 72 through a network, shown as theInternet 78. Communication interface 76 preferably includes all themodules that are needed for connections (connect, send and receive) toclient 72. A control interface 80 controls interactions of client 72with a recommendation engine 82. Control interface 80 preferablyinitializes and synchronizes the other components, and also handlesexceptions.

[0110] Recommendation engine 82 then preferably receives informationfrom a database 84 through a database handler 86. Recommendation engine82 also preferably includes the learning algorithms that are used tobuild the musical taste profile of users. Based on this profile, systemis capable of recommending new songs to the user with a high degree ofsuccess.

[0111] Database 84 preferably includes the tables that are required forrunning server 70. These tables preferably include, but are not limitedto, control tables which include the general information needed foractivating the server; song tables which include all the informationabout songs (e.g., song name, performer name, etc.); company tableswhich include the information about customers who access the server; atable of users which includes the information on users for each company;and a table of statistics, which includes statistics on usage, thenumber of users and the amount of users.

[0112] A memory management module 88 preferably manages the memory ofserver 70 and holds information required for running recommendationengine 82, which is preferably loaded into the computer's (server's)main memory. The role of memory management module 88 is to define, buildand access the data structures (e.g., vectors and maps) in the memory.

[0113] The process flow through the components of server 70 ispreferably operated as follows. First, server 70 is initialized. Controlmodule 80 activates Database Handler 86. Control module 80 theninitializes Memory Management module 88, which loads all the requiredinformation to the memory by sending commands to Database Handler module86. Communication interface 76 preferably initializes a specific portnumber for the server (TCP/IP).

[0114] Next, for the client cycle, each request from client 72 ispreferably placed in a separate thread that is closed by server 70 assoon as the request has been fulfilled. The next request from the sameuser more preferably opens a new thread.

[0115] First, Communication interface 76 receives a “send songs forrating” message from client 72 and passes it to Control module 80.Control module 80 then activates Recommendation Engine 82 that selects aset of songs from the main memory. A reasonable way to select thosesongs is to select them at random, but other methods may be preferred.Control module 80 receives the song vector and passes it toCommunication interface 76. Communication interface 76 sends the set ofsongs which have been chosen to client 72. Control module 80 sends adisconnect command to Communication interface 76 and stops the clientsession. This is done in order to minimize the number of threads open atany time.

[0116] The user listens to the songs that have been sent, and recordswhether these songs are preferred. Communication interface 76 receives a“rated songs ” message from client 72 when this is done and passes it tothe Control module. This message contains the user's ratings.

[0117] Control module 80 then preferably activates Memory Managementmodule 88. Control module 80 receives ACK from Memory Management module88 and passes it to Communication interface 76. Control module 80 sendsa disconnect command to Communication interface 76 and stops the clientsession. Client 72 preferably sends an additional request, “sendrecommended songs”, to receive the recommendations.

[0118] Communication interface 76 receives the “send recommended songs”message from client 72 and passes it to Control module 80, whichactivates the Recommendation Engine 82. Recommendation Engine 82 usessome learning algorithms to recommend and prepare the songs'vectors forrecommendation. Control module 80 receives the vector and passes it toCommunication interface 76.

[0119] Communication interface 76 sends list of recommended songs to theclient. Control module 80 sends a disconnect command to Communicationinterface 76. Control module 80 stops the client session.

[0120] Optionally and preferably, during each session, the databasetables and the statistics tables are updated. Each session serves asingle user. Multiple sessions can exist simultaneously on separatethreads.

[0121]FIG. 16 shows another exemplary implementation of the presentinvention for the previously described “stand alone station”. As shown,a digital kiosk 90 preferably features a display screen 92 fordisplaying information to the user and for receiving information fromthe user. Digital kiosk 90 optionally features an input device 94, suchas a mouse or other pointing device, optionally also with a keyboard(not shown). Alternatively or additionally, display screen 92 features atouch screen for entering information.

[0122] The user may optionally enter barcode information, ask forrecommendations and/or perform a search, or some combination of theabove, as previously described. Digital kiosk 90 then connects to aserver 96, which may be implemented similarly to the server of FIG. 15,for example. Server 96 then preferably performs the requested task(s).Optionally, server 96 may be integrated within digital kiosk 90 as asingle physical unit. Alternatively, server 96 is connected separatelyto digital kiosk 90, for example through a LAN (local area network)and/or through a dial-up telephone line connection through the PSTN(public switched telephone network).

[0123] Optionally and more preferably, rather than bringing the CD orother form of music media to digital kiosk 90, digital kiosk 90 containsmusic media in formats which may then be purchased directly. Forexample, the user could receive recommendations, and then purchase a CDfrom digital kiosk 90 as from a vending machine. For thisimplementation, digital kiosk 90 preferably features a credit cardreader or other payment mechanism, for enabling the user to purchase theCD or other music media.

[0124]FIG. 17 is another schematic block diagram of an exemplaryimplementation of a server, which could be used with any of the aboveapplications of the present invention. As shown, a server 100 features aplurality of recommendation servers 102, for performing the previouslydescribed recommendation functions of the present invention.Recommendation server 102 preferably receives information about thetaste of the user and the request for making the recommendation from oneof a plurality of API servers 104. Each API server 104 may optionallyinclude an HTTP server and an application server (not shown) for parsingthe request, retrieving user data from a database 106 through a databaseserver 108, and then sending a reply. More preferably, the reply is sentin XML (extended mark-up language).

[0125] Server 100 also preferably features a firewall 110 forprotection, and also optionally for performing load-balancing functions.

[0126] According to optional but preferred embodiments of the presentinvention, the system and method of the present invention are also usedfor predicting the taste of the user with regard to other types of mediaselections and not just musical selections. Examples of such mediaselections include, but are not limited to, movies, books and so forth.The previously described core prediction methods may also optionally beused to predict the taste of a user in other domains, such as movies,books and so on. For example, the FeatureMap method may optionally begeneralized from the previously described method for predicting tastewith regard to musical selections, by defining a set of properties whichare specific to the content matter.

[0127] While the invention has been described with respect to a limitednumber of embodiments, it will be appreciated that many variations,modifications and other applications of the invention may be made.

BIBLIOGRAPHY

[0128] LeCun:85 Yves Le Cun. Une procedure d'apprentissage pour reseau aseuil assymetrique. In Proceedings of Cognitiva, pages 599-604, Paris,France, 1985.

[0129] Backdrop:86 D. E. Rumelhart, G. E. Hinton, and R. J. Williams.Learning internal representations by error propagation. In Rumelhart andMcClelland, editors, Proc. of Structure in Complexity Theory, volume 1,chapter 8, pages 318-362. MIT Press, Cambridge, Mass., 1986.

[0130] CollFilt:95 U. Shardanand and P. Maes. Social InformationFiltering: Algorithms for Automating “Word of Mouth”. In Proceedings ofCHI'95 May 1995, Denver, Colo. ACM Press.

What is claimed is:
 1. A method for predicting a preference of a userfor a media selection, the method comprising: analyzing a catalog ofmedia selections according to a plurality of characteristics; rating atleast one media selection by the user; matching said rating with saidplurality of characteristics to predict the preference of the user forat least one of the media selections of the catalog; and recommending atleast one predicted media selection to the user.
 2. The method of claim1, wherein a plurality of matching processes are used to match saidrating with said plurality of characteristics.
 3. The method of claims 1or 2, wherein a matching process is a neural network, such that saidplurality of characteristics of said media selection forms a binaryvector and said neural network learns to match said binary vector tocharacteristics of each rated media selection by the user.
 4. The methodof claims 1 or 2, wherein a matching process is a map method forcreating a matrix of pseudo-distances between each pair of mediaselections, for comparing each rated media selection to at least oneother media selection in said catalog.
 5. The method of claim 4, whereinsaid map method is a selection map method, for comparing allcharacteristics of each pair of media selections.
 6. The method of claim4, wherein said map method is a feature map method, for comparing aselected group of features of each pair of media selections.
 7. Themethod of claim 4, wherein said map method is a fingerprint map method,for comparing a signature of each pair of media selections.
 8. Themethod of claims 1 or 2, wherein a matching process is a rating methodfor rating each media selection of said catalog and directly comparingeach rating of the user to said rating for said media selection of saidcatalog.
 9. The method of any of claims 1-8, wherein information abouteach media selection in said catalog is stored in a feature base. 10.The method of any of claims 1-9, wherein each media selection is alsocharacterized by genre.
 11. The method of any of claims 1-10, whereineach media selection is a musical selection.
 12. The method of claim 11,wherein said musical selection is analyzed along musical features by atrained musician.
 13. The method of claim 11, wherein said musicalselection is rated by a plurality of users.
 14. The method of claim 11,wherein said musical selection is automatically analyzed according to afingerprint of the audio signal.
 15. The method of any of claims 11-14,wherein said musical selections and rating information are presented tothe user through a network.
 16. The method of claim 15, wherein saidnetwork is the Internet.
 17. The method of any of claims 11-14, whereinsaid musical selections and rating information are presented to the userthrough a stand alone station.
 18. The method of any of claims 15-17,further comprising: purchasing a musical selection by the user.
 19. Themethod of any of claims 1-10, wherein said media selection featuresprinted material.
 20. The method of any of claims 1-10, wherein saidmedia selection features visual material.
 21. The method of claim 20,wherein said visual material includes video data.
 22. The method ofclaim 1, said media selection is rated by a plurality of users.
 23. Amethod for predicting a preference of a user for a media selection, themethod comprising: analyzing at least a portion of a catalog of mediaselections according to a characteristic by a group of raters; rating atleast one media selection by the user; matching said rating with saidcharacteristic to predict the preference of the user for at least one ofthe media selections of the catalog; and recommending at least onepredicted media selection to the user.
 24. A method for predicting apreference of a user for a media selection, the method comprising:automatically analyzing at least a portion of a catalog of mediaselections according to a characteristic; rating at least one mediaselection by the user; matching said rating with said characteristic topredict the preference of the user for at least one of the mediaselections of the catalog; and recommending at least one predicted mediaselection to the user.
 25. The method of claim 24, wherein said mediaselection features audio data, and said characteristic is a fingerprintof said audio data as an audio signal.